/*个人原子化css库 移动端uniapp版*/
/* ==================
      初始化
 ==================== */
body,
page {
  background-color: #f7f7f7;
  font-size: 28rpx;
  color: #333333;
  font-family: Helvetica Neue, Helvetica, sans-serif;
}

view,
scroll-view,
swiper,
button,
input,
textarea,
label,
navigator,
image {
  box-sizing: border-box;
}

/* ==================
      flex弹性布局
 ==================== */
.flex {
  display: flex;
}

.flex-sub {
  flex: 1;
}

.flex-direction {
  flex-direction: column;
}

.flex-wrap {
  flex-wrap: wrap;
}

.align-start {
  align-items: flex-start;
}

.align-end {
  align-items: flex-end;
}

.align-center {
  align-items: center;
}

.justify-start {
  justify-content: flex-start;
}

.justify-end {
  justify-content: flex-end;
}

.justify-center {
  justify-content: center;
}

.justify-between {
  justify-content: space-between;
}

.justify-around {
  justify-content: space-around;
}

/* ==================
      常用内外边距
 ==================== */
.margin-0 {
  margin: 0;
}

.margin-xs {
  margin: 8rpx;
}

.margin-sm {
  margin: 16rpx;
}

.margin {
  margin: 24rpx;
}

.margin-lg {
  margin: 32rpx;
}

.margin-xl {
  margin: 40rpx;
}

.margin-top-xs {
  margin-top: 8rpx;
}

.margin-top-sm {
  margin-top: 24rpx;
}

.margin-top {
  margin-top: 24rpx;
}

.margin-top-lg {
  margin-top: 32rpx;
}

.margin-top-xl {
  margin-top: 40rpx;
}

.margin-right-xs {
  margin-right: 8rpx;
}

.margin-right-sm {
  margin-right: 16rpx;
}

.margin-right {
  margin-right: 24rpx;
}

.margin-right-lg {
  margin-right: 32rpx;
}

.margin-right-xl {
  margin-right: 40rpx;
}

.margin-bottom-xs {
  margin-bottom: 8rpx;
}

.margin-bottom-sm {
  margin-bottom: 16rpx;
}

.margin-bottom {
  margin-bottom: 24rpx;
}

.margin-bottom-lg {
  margin-bottom: 32rpx;
}

.margin-bottom-xl {
  margin-bottom: 40rpx;
}

.margin-left-xs {
  margin-left: 8rpx;
}

.margin-left-sm {
  margin-left: 16rpx;
}

.margin-left {
  margin-left: 24rpx;
}

.margin-left-lg {
  margin-left: 32rpx;
}

.margin-left-xl {
  margin-left: 40rpx;
}

.margin-lr-xs {
  margin-left: 8rpx;
  margin-right: 8rpx;
}

.margin-lr-sm {
  margin-left: 16rpx;
  margin-right: 16rpx;
}

.margin-lr {
  margin-left: 24rpx;
  margin-right: 24rpx;
}

.margin-lr-lg {
  margin-left: 32rpx;
  margin-right: 32rpx;
}

.margin-lr-xl {
  margin-left: 40rpx;
  margin-right: 40rpx;
}

.margin-tb-xs {
  margin-top: 8rpx;
  margin-bottom: 8rpx;
}

.margin-tb-sm {
  margin-top: 16rpx;
  margin-bottom: 16rpx;
}

.margin-tb {
  margin-top: 24rpx;
  margin-bottom: 24rpx;
}

.margin-tb-lg {
  margin-top: 32rpx;
  margin-bottom: 32rpx;
}

.margin-tb-xl {
  margin-top: 40rpx;
  margin-bottom: 40rpx;
}

.padding-0 {
  padding: 0;
}

.padding-xs {
  padding: 8rpx;
}

.padding-sm {
  padding: 16rpx;
}

.padding {
  padding: 24rpx;
}

.padding-lg {
  padding: 32rpx;
}

.padding-xl {
  padding: 40rpx;
}

.padding-top-xs {
  padding-top: 8rpx;
}

.padding-top-sm {
  padding-top: 16rpx;
}

.padding-top {
  padding-top: 24rpx;
}

.padding-top-lg {
  padding-top: 32rpx;
}

.padding-top-xl {
  padding-top: 40rpx;
}

.padding-right-xs {
  padding-right: 8rpx;
}

.padding-right-sm {
  padding-right: 16rpx;
}

.padding-right {
  padding-right: 24rpx;
}

.padding-right-lg {
  padding-right: 32rpx;
}

.padding-right-xl {
  padding-right: 40rpx;
}

.padding-bottom-xs {
  padding-bottom: 8rpx;
}

.padding-bottom-sm {
  padding-bottom: 16rpx;
}

.padding-bottom {
  padding-bottom: 24rpx;
}

.padding-bottom-lg {
  padding-bottom: 32rpx;
}

.padding-bottom-xl {
  padding-bottom: 40rpx;
}

.padding-left-xs {
  padding-left: 8rpx;
}

.padding-left-sm {
  padding-left: 16rpx;
}

.padding-left {
  padding-left: 24rpx;
}

.padding-left-lg {
  padding-left: 32rpx;
}

.padding-left-xl {
  padding-left: 40rpx;
}

.padding-lr-xs {
  padding-left: 8rpx;
  padding-right: 8rpx;
}

.padding-lr-sm {
  padding-left: 16rpx;
  padding-right: 16rpx;
}

.padding-lr {
  padding-left: 24rpx;
  padding-right: 24rpx;
}

.padding-lr-lg {
  padding-left: 32rpx;
  padding-right: 32rpx;
}

.padding-lr-xl {
  padding-left: 40rpx;
  padding-right: 40rpx;
}

.padding-tb-xs {
  padding-top: 8rpx;
  padding-bottom: 8rpx;
}

.padding-tb-sm {
  padding-top: 16rpx;
  padding-bottom: 16rpx;
}

.padding-tb {
  padding-top: 24rpx;
  padding-bottom: 24rpx;
}

.padding-tb-lg {
  padding-top: 32rpx;
  padding-bottom: 32rpx;
}

.padding-tb-xl {
  padding-top: 40rpx;
  padding-bottom: 40rpx;
}

/* ==================
      文本
 ==================== */
.text-20 {
  font-size: 20rpx;
}

.text-22 {
  font-size: 22rpx;
}

.text-24 {
  font-size: 24rpx;
}

.text-26 {
  font-size: 26rpx;
}

.text-28 {
  font-size: 28rpx;
}

.text-30 {
  font-size: 30rpx;
}

.text-32 {
  font-size: 32rpx;
}

.text-price::before {
  content: "¥";
  font-size: 80%;
  margin-right: 4rpx;
}

.text-bold {
  font-weight: bold;
}

.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

.text-center {
  text-align: center;
}

/* 文本截取 */
.text-cut {
  display: -webkit-box;
  word-break: break-all;
  white-space: normal;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.text-cut1 {
  -webkit-line-clamp: 1;
}

.text-cut2 {
  -webkit-line-clamp: 2;
}

.text-cut3 {
  -webkit-line-clamp: 3;
}

/* 圆角 */
.radius-xs {
  border-radius: 8rpx;
}

.radius-sm {
  border-radius: 16rpx;
}

.radius {
  border-radius: 24rpx;
}

.radius-lg {
  border-radius: 32rpx;
}

.round {
  border-radius: 500rpx;
}

.img-item {
  width: 100%;
  height: 100%;
}

.no-data-wrapper {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -80%);
  position: absolute;
}

[class*="l-border"]::after {
  position: absolute;
  box-sizing: border-box;
  content: " ";
  pointer-events: none;
  top: -50%;
  right: -50%;
  bottom: -50%;
  left: -50%;
  border: 0 solid #d9d9d9;
  -webkit-transform: scale(0.5);
  transform: scale(0.5);
}

.flex {
  display: flex;
}
.flex1 {
  flex: 1;
}
.flex-w {
  flex-wrap: wrap;
}
.flex-jc {
  display: flex;
  justify-content: center;
}
.flex-je {
  display: flex;
  justify-content: flex-end;
}
.flex-js {
  display: flex;
  justify-content: flex-start;
}
.flex-ja {
  display: flex;
  justify-content: space-around;
}
.flex-jb {
  display: flex;
  justify-content: space-between;
}
.flex-ac {
  display: flex;
  align-items: center;
}
.flex-ae {
  display: flex;
  align-items: flex-end;
}
.flex-as {
  display: flex;
  align-items: flex-start;
}
.flex-c {
  display: flex;
  align-items: center;
  justify-content: center;
}

.flex-y {
  display: flex;
  flex-direction: column;
}
.flex-yc {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.l-border-top,
.l-border-bottom,
.l-border-left,
.l-border-right,
.l-border {
  position: relative;
}
.l-border-top::after {
  border-top-width: 1px;
}

.l-border-bottom::after {
  border-bottom-width: 1px;
}

.l-border-left::after {
  border-left-width: 1px;
}
.l-border-right::after {
  border-right-width: 1px;
}
.l-border::after {
  border-width: 1px;
}

.l-ellipsis {
  white-space: normal;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.l-ellipsis-2 {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
